Recently, due to the proliferation of general-purpose computer devices and a variety of other factors (e.g., the increased speed of various interfaces used in the general-purpose computer devices, the increase in capacity of a storage device (or a storage medium), the increased speed of a network, the security reasons and the like), the number of usage patterns, in which the general-purpose computer device is booted not only by an internal storage device (e.g., a hard disk drive or a semiconductor disk included in the general-purpose computer device) but also by an external storage device for use, has been increasing again.
These usage patterns were widely used as a method of booting the general-purpose computer device by using a floppy (registered trademark) disk to use the general-purpose computer even before the hard disk drive is generally used. Thereafter, the number of usage patterns decreased as an OS or an application used in the general-purpose computer established the environment premised on the presence of the hard disk.
The above-mentioned usage patterns using the general-purpose computer device as a boot target device are basically realized by loading booting data required for boot via a booting interface essentially supported by firmware (or a BIOS (Basic Input/Output System) or the like) of the boot target device from an external device.
As a specific example, there generally exists a method of directly booting the general-purpose computer device corresponding to the boot target device from an external storage medium such as a CD-ROM or a DVD-ROM for use, as is represented by a live CD, or a diskless computer which performs network boot via a network interface.
In addition to the above-mentioned example, there also exists a method of using an extended bootloader for allowing the booting data to be loaded even via an interface which is not directly supported by the firmware without requiring any change for the firmware.
For example, in the boot target device corresponding to the general-purpose computer device including the firmware which does not support the direct boot from a USB (Universal Serial Bus) interface nor a network interface but supports the direct boot from the CD-ROM or the floppy disk, there exists a method of storing a program operating as an extended bootloader to enable the boot from the USB interface or from the network in the CD-ROM or the floppy disk medium to first load the extended bootloader upon the boot of the boot target device and then to load the booting data required for the boot from the indirectly extended USB interface or network interface.
On the other hand, various improvements have also been made on a booting process used for booting the general-purpose computer device according to a specific purpose of use or condition.
In particular, due to the advantage in terms of cost, there are a large number of examples, in which the improvement of convenience is sought not by the improvement of hardware but by the improvement of software.
There are various specific contents of improvement. For example, various methods such as a method of effectively managing the booting data used in the boot target device without depending on the booting interface, a method of booting the boot target device at higher speed under a specific environment, and a method of making a waiting time for booting up the system unnoticeable to a user have been proposed.
Problems in the above-mentioned techniques will now be described.
In the existing techniques, once the transfer of the booting data used by the boot target device is started through a specific interface (including an interface extended by the extending bootloader), it is premised that the transfer of all the pieces of booting data is completed only via the fixed interface.
Even in this method, when the speed of the interface used for the transfer is sufficiently high and the amount of data to be transferred is relatively small, the waiting time does not appear as lowered convenience for the user because the waiting time for the completion of the transfer of the booting data to enable the boot target device is short.
However, in the general-purpose computer device or the like, which serves as the boot target device and uses a USB 1.1 interface, a time required to complete transfer of booting data may be extremely long (e.g., in the range of several tens of minutes to one hour or more), because the USB 1.1 interface has a relatively slow transfer speed. Of course, large amounts of booting data increase the transfer time, which may be the case for a large-scale general-purpose computer operating system and for software applications running on the operating system and the like.
This fact brings about a situation in which the above-mentioned usage pattern is not practical in view of the waiting time for the user, in view of the computer resources of the boot source device occupied for booting the boot target device, and in view of the portability of the booting system.
Besides, in the case where the boot target device is to be booted from the external storage device, the storage device remains connected to the USB interface to protrude from the boot target device until the transfer is completed once the transfer of the booting data is started from the storage device via the USB interface, in the existing techniques described in the background art. As a result, there is a possibility that the portability of the boot target device being booted is impaired. This may be the case when the storage device has a plurality of interfaces operating as an SD (Secure Digital) memory card and also as the USB memory card is used as the external storage device, and a portable general-purpose computer device has both an externally exposed USB port and a memory card slot which can hold the SD card therein as the interfaces, which supports the direct boot from the USB interface but not the direct boot from the SD memory card slot as firmware, is used as the boot target device.
The above description is similarly applied to the case where a general SD memory card is used via a USB style SD card reader adapter to be operated as the USB memory card in terms of the reduced portability of the boot target device being booted.
For solving the problems as described above, the boot source device having higher-speed hardware can be used to improve the waiting time for the user, and further, devising an external shape of the boot target device can improve the portability of the boot target device being booted currently. However, such solutions which involve a hardware modification generally brings about an increase in device cost.
Moreover, although it is possible to modify the firmware used in the boot target device to a special one according to the characteristics of a specific boot source device or storage device, such a solution impairs the characteristics of the boot target device corresponding to the general-purpose computer and also leads to an increase in development cost for the development of specific individual firmware.
A device booting system described below is configured to solve the above-mentioned problems.